iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
Modern Web

遊戲製作新手救星---Phaser3網頁遊戲教學與實作系列 第 13

Day12 角色動起來了o(*゚▽゚*)o~~--Phaser3 鍵盤設定篇

  • 分享至 

  • xImage
  •  

角色設定完畢後就來讓角色動起來吧(≧∇≦)ノ!!
操控的方式是用鍵盤來做操作喔~

步驟有二:

  1. 鍵盤設定
  2. 操作設定

那麼就開始吧~


鍵盤設定

鍵盤設定為Phaser3的內建小工具,輸入後即可使用鍵盤操控角色

匯入的方式非常簡單,只要在場景檔案中的create()中輸入程式即可
鍵盤設定程式:

    create(){
        this.cursors = this.input.keyboard.createCursorKeys();
    }

這樣就成功完成Phaser3的鍵盤設定匯入了(o゚v゚)ノ

操作設定

接下來的程式要寫在update()中喔~
將鍵盤設定套入圖片使角色能夠透過鍵盤移動,設定不同按鍵使角色有不同的移動

鍵盤名稱設定:

  • 上鍵: up
  • 下鍵: down
  • 左鍵: left
  • 右鍵: right
  • 空白鍵:space

而我們要設定的操作方式為:角色的方向鍵左右移動

這邊是操控的範例程式:

if(this.cursors.left.isDown){
            this.player.setVelocityX(數值);
        }else if(this.cursors.right.isDown){
            this.player.setVelocityX(數值);}
        else{
            this.player.setVelocityX(數值);
        }

"left" :方向鍵左鍵
"right" :方向鍵右鍵
(按鍵名稱可以自己設定喔)
"this.cursors."".isDown" :當某按鍵按下時
"this.player.setVelocityX(數值);" : 角色往X軸移動,數值為負值時角色往左,數值為正值時角色往右,數值為0時角色不移動

那麼用文字簡單講解範例程式:
當方向鍵右鍵按下時角色往X軸某方向移動,或是當方向鍵左鍵按下時角色往X軸某方向移動,若都沒按下時角色往X軸某方向移動。

那我們將程式寫入吧~~
(我設定為方向鍵右鍵按下時角色往X軸-200單位移動,向鍵左鍵按下時角色往X軸200單位移動,而都沒按下時角色靜止不動)

    update(){
        if(this.cursors.left.isDown){
            this.player.setVelocityX(-200);
        }else if(this.cursors.right.isDown){
            this.player.setVelocityX(200);}
        else{
            this.player.setVelocityX(0);
        }
    }

輸入完畢後就可以看到網頁上的角色會跟著鍵盤按鍵移動了喔!!o((>ω< ))o

範例畫面如下:


這樣角色的鍵盤設定就完成了!
但平移移動有點不自然,那明天的教學就加上角色動畫讓角色移動看起來在跑步吧(o゜▽゜)o☆
敬啟期待~~


上一篇
Day11 幫角色加入特性吧✪ ω ✪--角色設定篇(2)
下一篇
Day13 角色動起來了o(*゚▽゚*)o~~--Phaser3 角色動畫設定篇
系列文
遊戲製作新手救星---Phaser3網頁遊戲教學與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言